'use strict'

const { Blogs } = require('../modles');
const { Op } = require('sequelize');

async function getAll(ctx, next) {
    let keyword = ctx.request.query.keyword;
    //console.log(keyword);
    // ctx.body = await Blogs.findAll();
    let obj = {};
    if (keyword) {
        obj = await Blogs.findAll({
            // where: {
            //     [Op.or]: [{ title: { [Op.substring]: keyword } }, { content: { [Op.substring]: keyword } }]
            // }

            where: {
                [Op.or]: [{ title: { [Op.substring]: keyword } }, { content: { [Op.substring]: keyword } }]
            }
        });
    } else {
        obj = await Blogs.findAll();
    }

    ctx.body = obj;

    // let keyword = ctx.request.query.keyword;
    // console.log(keyword);
    // let obj = {};
    // if (keyword) {
    //     obj = await Blogs.findAll({
    //         where: {
    //             [Op.or]: [
    //                 {
    //                     title: {
    //                         [Op.substring]: keyword
    //                     },
    //                 },
    //                 {
    //                     content: {
    //                         [Op.substring]: keyword
    //                     }
    //                 }
    //             ]


    //         }
    //     });
    // } else {
    //     obj = await Blogs.findAll();
    // }

    // ctx.body = obj;
}


async function getItemById(ctx, next) {
    // let id = ctx.request.params.id;
    // let obj = await Blogs.findByPk(id);
    // ctx.body = obj;

    let id = ctx.request.params.id;
    let obj = await Blogs.findByPk(id);
    ctx.body = obj;
}

async function addItem(ctx, next) {
    let obj = ctx.request.body;
    await Blogs.create(obj);
    ctx.body = '增加成功！';
}

async function upadteItemById(ctx, next) {
    let id = ctx.request.params.id;
    let obj = ctx.request.body;
    await Blogs.update(obj, {
        where: {
            id: id,
        }
    });

    ctx.body = '修改成功！';
}

async function delItemById(ctx, next) {
    // let id = ctx.request.params.id;
    // await Blogs.destroy({
    //     where: {
    //         id: id
    //     }
    // });

    // ctx.body = '删除成功！'

    let id = ctx.request.params.id;
    await Blogs.destroy({
        where: {
            id: id
        }
    });
    ctx.response.body = '删除成功！';
}

module.exports = {
    'get /blogs': getAll,
    'get /blogs/:id': getItemById,
    'post /blogs': addItem,
    'put /blogs/:id': upadteItemById,
    'delete /blogs/:id': delItemById,
}
6